package ar.com.digitalbricks.imprenta.persona.impl;

import java.util.Collection;
import java.util.HashSet;

import ar.com.digitalbricks.fwk.impl.PersistentImpl;
import ar.com.digitalbricks.imprenta.persona.CalendarioAtencion;
import ar.com.digitalbricks.imprenta.persona.CalendarioAtencionItem;
import ar.com.digitalbricks.imprenta.persona.dao.CalendarioAtencionDAO;

public class CalendarioAtencionImpl extends PersistentImpl implements CalendarioAtencion {
	private Collection<CalendarioAtencionItem> items;
	private static CalendarioAtencionDAO calendarioAtencionDAO;

	public CalendarioAtencionImpl() {}

	public CalendarioAtencionImpl(CalendarioAtencion calendarioAtencion) {
		for (CalendarioAtencionItem item : calendarioAtencion.getItems()) {
			this.getItems().add(new CalendarioAtencionItemImpl(item));
		}
	}

	@Override
	public void delete() {
		this.getCalendarioAtencionDAO().delete(this);
	}

	@Override
	public void save() {
		this.getCalendarioAtencionDAO().save(this);
	}

	@Override
	public Collection<CalendarioAtencionItem> getItems() {
		if (this.items == null){
			this.items = new HashSet<CalendarioAtencionItem>();
		}
		return this.items;
	}

	@Override
	public void addItem(CalendarioAtencionItem calendarioAtencionItem) {
		this.getItems().add(calendarioAtencionItem);
	}

	protected void setItems(Collection<CalendarioAtencionItem> items) {
		this.items = items;
	}

	public CalendarioAtencionDAO getCalendarioAtencionDAO() {
		return calendarioAtencionDAO;
	}

	public void setCalendarioAtencionDAO(CalendarioAtencionDAO calendarioAtencionDAO) {
		CalendarioAtencionImpl.calendarioAtencionDAO = calendarioAtencionDAO;
	}
}